import java.util.*;

public class Test34 {
    public static void main(String[] args) {
        //创建集合对象
        Collection collection =new ArrayList();
        //向集合内添加元素
        collection.add(1200);//自动装箱，实际上放的是一个对象的内存地址
        collection.add(2222);
        collection.add("王富贵");
        //获取集合中元素的个数
        System.out.println("集合中元素的个数是"+collection.size());
        //清空集合
        collection.clear();
        System.out.println("清空后集合中元素的个数是"+collection.size());
        //再次添加元素
        collection.add("hello");
        collection.add("王富贵");
        collection.add("巨人");
        //判断当权集合是否包含元素o包含为true，不包含为false
        System.out.println(collection.contains("王富贵"));
        //删除集合内的某个元素
        collection.remove("巨人");
        System.out.println("删除某个元素后集合内的元素个数为"+collection.size());
        //判断集合内是否为空，空为true，有为false
        System.out.println(collection.isEmpty());
        //转为数组
        Object[] obje = collection.toArray();
        for (int i = 0; i < obje.length ; i++) {
            System.out.println(obje[i]);
        }
        //再次添加元素
        collection.add(new Test34() );
        collection.add(123456);
        collection.add("ABC");
        System.out.println("当前集合内的元素个数："+collection.size());
        /*对集合进行遍历/迭代
        *第一步：获取集合对象的迭代器对象Iterator
        * 第二部：通过获取的迭代器对象开始遍历/迭代结合
        */
         Iterator iter = collection.iterator();
         while(iter.hasNext()){
                 System.out.println(iter.next());
         }
        System.out.println("list接口实验---------------------");
        List list =new ArrayList();
        list.add("A");
        list.add("B");
        list.add("C");
        //效率低，很少用
        list.add(3,"D");//index:1表示在下标为1的地方存入"D"
        Iterator iter2 =list.iterator();
        while(iter2.hasNext()){
            System.out.println(iter2.next());
        }
        //获取指定下标的元素
        Object obje2 =list.get(1);
        System.out.println(obje2);
        for (int i = 0; i < list.size(); i++) {//用户该方法遍历集合
            System.out.println(list.get(i));
        }
        //查找元素第一次出现的下标
        System.out.println("查找元素第一次出现的下标"+list.indexOf("A"));
        //查找元素最后一次出现的下标
        System.out.println(list.lastIndexOf("查找元素最后一次出现的下标"+"B"));
        //删除下标位置的元素
        list.remove(3);
        //创建一个HashSet集合,括号内定义长度
        Collection c =new HashSet(20);
        //添加元素到集合
        c.add(100);
        c.add(200);
        c.add(900);
        c.add(50);
        //将HashSet集合转为list集合
        List list3 =new ArrayList();
        for (int i = 0; i < list3.size(); i++) {
            System.out.println(list3.get(i));
        }
        //创建Vector集合，底层是数组，初始化大小为10，扩容大小为2倍
        Vector vector =new Vector();
        //放入11个数据
        for (int i = 0; i < 11; i++) {
            vector.add(i);
        }
        //将ArrayList集合转换成线程安全的
        List list4 =new ArrayList();
        Collections.synchronizedCollection(list4);//转换成线程安全
            list4.add(new Army(5));
    }
}
